package com.huige.requstmapping;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.logging.Handler;

/**
 * @Author 朱志辉
 * @Create 2024/7/18 下午2:57
 * @Version 1.0
 * Description:
 */
@Controller
@RequestMapping("user")
public class UserController {


    /**
     * @Webservlet("必须使用 / 开头")
     *
     * @RequestMapping("不要求必须使用 / 开头")
     *
     * 1.精准地址【一个或多个】 /user/login  {"地址1","地址2"}
     * 2.支持模糊地址 * 任意一层字符串  ** 任意层任意字符串
     *                  /user/* -> user/a user/aa 可以的 /user/a/b/c 不行
     *                  /user/** - 修饰任意层匹配
     *  3.类上和方法上添加@RequestMapping的区别
     *             类上提取通用的访问地址
     *             方法上提取方法的通用地址
     *             访问：类地址+方法地址
     *  4.请求方式指定
     *       客户端 -> http(get | post | put | delete) ->ds -> handler
     *       默认情况：@RequestMapping("login") 只要地址正确,任何请求方式都可以访问
     *       指定请求方式：method = {RequestMethod.GET,RequestMethod.POST}
     *       不符合请求方式：会出现405异常！
     *  5.注解进阶   只能用在方法上
     *       get @GetMapping == @RequestMapping(method = RequestMethod.GET)
     *       post @PostMapping == @RequestMapping(method = RequestMethod.POST)
     *       put @PutMapping == @RequestMapping(method = RequestMethod.PUT)
     *       delete @DeleteMapping == @RequestMapping(method = RequestMethod.DELETE)
     *
     *
     *
     *
     *
     */
    @RequestMapping// /user
    @GetMapping//get请求地址
    public String index() {

        return null;
    }

    //handler  --> handlerMapping 指定访问地址
    @RequestMapping(value = "login",method =RequestMethod.POST)//作用注册地址 将handler注册到handlerMapping
    @PostMapping("login")
    public String login() {

        return null;
    }


    @RequestMapping(value = "register" , method = {RequestMethod.POST, RequestMethod.GET})
    public String register() {
        return null;
    }
}
